#ifndef _CMAINSTATE_H
#define _CMAINSTATE_H


#include "CStateManager.h"
#include "Skybox.h"
#include "CameraSystem.h"
#include "ChessBoard.h"
#include "Knight.h"
#include "CMenuItem.h"
#include "MouseDevice.h"
#include "CNumber.h"


class CMainState : public IGameState
{
public:
	//--------------------------------------------//
	//	Constructor and Destructor for this class //
	//--------------------------------------------//
	CMainState(CStateManager *state);
	~CMainState();

	//--------------------------------//
	//	Public methods for this class //
	//--------------------------------//
	void	Init		();
	void	Update		();
	void	Render		();
	void	Destroy		();

	
	
	
private:
	void	InitMenuItem();
	void	DrawMenuItem();
	void	DrawNumber();
	void	DrawScreen2D();
	void	DrawScreen3D();
	void	UpdateScreen2D();
	void	UpdateScreen3D();
	void	CalcMovement();


	CSkybox		*m_pSkybox;
	CCamera		*m_pCamera;
	ChessBoard	*m_pChessBoard;
	Knight		*m_pKnight;


	CMenuItem	**m_miButton;
	CMenuItem	**m_miLabel;
	CNumber		 *m_pNumber;

	D3DXMATRIX	 m_mtxView;

	LPD3DXSPRITE			m_pSprite;


	int		m_iStateGame;
	int		m_iSpeedLevel;
	int		m_iChessWidth;
	int		m_iChessHeight;
	int		m_iKnightPosX;
	int		m_iKnightPosY;
};




#endif